// npm i mysql2
// https://sidorares.github.io/node-mysql2/zh-CN/docs
const mysql = require('mysql2/promise')



// 数据库的配置
const dbConfig = {
  host: '127.0.0.1', // ip
  user: 'root', // 用户名
  password: '123456',  // 数据库密码【实际开发密码没这么随意哈~~~】
  database: 'matcha_sql', // 要连接的数据库名称
  waitForConnections: true,  // 设置true可以避免因为无连接可用而直接拒绝新的数据库请求,设置false 新请求在没有可用连接时会收到错误而非等待
  connectionLimit: 20, // 根据数据库服务器的性能和应用程序的并发需求来调整  
  queueLimit: 10 // 限制等待队列的长度，避免无限期等待  
}

// 数据库连接 - 连接池
const db = mysql.createPool(dbConfig)




// 测试数据库是否连接成功 - 这个测试需要进入db目录下 node index 
// db.query('select 1', (err, results)=>{
//   if(err) return console.log(err.message);

//   console.log(results); //  输出[ RowDataPacket { '1': 1 } ]则成功
// })


// 向外导出 db数据库连接对象 - module.exports 原本是一个空对象{}
module.exports = db